// my/pages/bindPhone2/bindPhone2.js
import { BASE_URL } from "../../../http/config";

Page({
  /**
   * 页面的初始数据
   */
  data: {
    userId: null,
    phone: '',
    captcha: '',
    countdown: 60, // 验证码倒计时
    timer: null    // 定时器
  },

  // 输入手机号
  onPhoneInput: function (e) {
    this.setData({
      phone: e.detail.value
    });
  },

  // 输入验证码
  onCaptchaInput: function (e) {
    this.setData({
      captcha: e.detail.value
    });
  },

  // 表单提交处理函数
  loginHander: function (e) {
    const { phone, captcha } = this.data;
    const { userId } = this.data;

    // 验证手机号是否为11位数字
    if (!/^1\d{10}$/.test(phone)) {
      wx.showToast({ title: '请输入正确的手机号', icon: 'none' });
      return;
    }

    // 验证表单数据
    if (!phone || !captcha) {
      wx.showToast({ title: '请填写完整信息', icon: 'none' });
      return;
    }

    // 验证验证码是否为1234
    if (captcha !== '1234') {
      wx.showToast({ title: '验证码错误', icon: 'none' });
      return;
    }

    // 调用修改手机号的方法
    this.updatePhone(phone);
  },

  // 修改手机号
  updatePhone: function (phone) {
    const { userId } = this.data;

    wx.request({
      url: `${BASE_URL}/systemUsers`,
      method: 'PUT',
      data: {
        id: userId,
        mobile: phone
      },
      success: (res) => {
        console.log(res);
        if (res.data.code === 200) {
          wx.showToast({ title: '修改成功', icon: 'success' });
         // 跳转至指定页面
        setTimeout(() => {
          wx.navigateTo({
            url: '/my/pages/bindPhone3/bindPhone3'
          });
        }, 1000);
        } else {
          wx.showToast({ title: res.data.message || '修改失败', icon: 'none' });
        }
      },
      fail: (err) => {
        console.error('请求失败', err);
        wx.showToast({ title: '网络错误', icon: 'none' });
      }
    });
  },

  // 发送验证码
  sendCaptcha: function () {
    const { phone } = this.data;

    // 验证手机号是否为11位数字
    if (!/^1\d{10}$/.test(phone)) {
      wx.showToast({ title: '请输入正确的手机号', icon: 'none' });
      return;
    }

    // 开始倒计时
    this.setData({
      countdown: 60
    });

    this.data.timer = setInterval(() => {
      const newCountdown = this.data.countdown - 1;
      if (newCountdown <= 0) {
        clearInterval(this.data.timer);
        this.setData({
          countdown: 60
        });
      } else {
        this.setData({
          countdown: newCountdown
        });
      }
    }, 1000);

    // 调用发送验证码的接口（模拟）
    wx.showToast({ title: '验证码已发送，验证码为1234', icon: 'none' });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const app = getApp();
    // 检查全局用户信息是否存在
    if (!app.globalData.userInfo || !app.globalData.userInfo.id) {
      console.error('用户信息缺失，无法获取userId');
      wx.showToast({
        title: '请先登录',
        icon: 'none'
      });
      // 跳转到登录页
      setTimeout(() => {
        wx.navigateTo({
          url: '/pages/login/login' // 替换为实际登录页路径
        });
      }, 1500);
      return;
    }
    // 从全局数据获取userId（修正字段名）
    const userId = app.globalData.userInfo.id;
    console.log("当前用户id为:", userId);
    this.setData({
      userId: userId
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
    // 清除定时器
    if (this.data.timer) {
      clearInterval(this.data.timer);
    }
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
    // 清除定时器
    if (this.data.timer) {
      clearInterval(this.data.timer);
    }
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
});